﻿namespace Postnuclear.Dependency.Tree
  {
  /// <summary>
  /// Describes element in dependency tree.
  /// Provides possibility to change the holder instance of the dependency element.
  /// Notifies if the dependency value is changed.
  /// Allows to get the value of tracked dependency element.
  /// </summary>
  /// <typeparam name="THolder">The type of the holder.</typeparam>
  /// <typeparam name="TValue">The type of the value.</typeparam>
  internal interface IDependencyElement<in THolder, out TValue>
    : IDependencyTreeElement<THolder>, IValueProvider<TValue>
    where THolder : class
    {
    }
  }